第二版，1991年6月
版权 (C) 1989, 1991 自由软件基金会公司。地址：59 Temple Place, Suite 330, Boston, MA 02111-1307 USA。
每个人都可以复制和分发本许可证文档的副本，但不得修改它。
序言
大多数软件许可证的设计都是为了剥夺你共享和修改软件的权利。相反，GNU通用公共许可证旨在保证你分享和修改自由软件的权利——确保软件对所有用户都是自由的。这种通用公共许可证适用于自由软件基金会的大部分软件，以及任何其他作者承诺使用它的程序。（有些自由软件基金会的软件受GNU库通用公共许可证保护。）你也可以将它应用于你的程序。
当我们谈论自由软件时，我们指的是自由而不是价格。我们的通用公共许可证旨在确保你有权利分发自由软件的副本（如果你愿意，可以为此服务收费），你可以获得源代码或在需要时获取它，你可以更改软件或将其中的部分用于新的自由程序；并且你知道自己拥有这些权利。
为了保护你的权利，我们需要制定一些禁止任何人否认你这些权利或者要求你放弃这些权利的规定。这些限制转化为你在分发软件副本或修改它时的责任。
我们通过两步来保护你的权利：（1）对软件进行版权保护，（2）提供给你这个许可证，它给予你合法的权限来复制、分发和/或修改软件。
此外，为了每位作者的保护和我们的保护，我们希望确保每个人都明白此自由软件没有担保。如果软件被他人修改后传递下去，我们希望接收者知道他们得到的不是原始版本，这样其他人引入的问题不会影响原作者的声誉。
最后，任何自由程序都不断受到软件专利的威胁。我们希望避免自由程序的重新分发者个人获得专利许可的风险，实际上使程序成为专有。为防止这种情况，我们明确指出任何专利必须免费授权所有人使用，或者根本不授权。
复制、分发和修改的确切条款和条件如下：
GNU通用公共许可证
复制、分发和修改的条款和条件
0. 本许可证适用于包含版权所有者放置的通知的任何程序或其他作品，说明其可以根据本通用公共许可证的条款进行分发。“程序”下文指任何此类程序或作品，“基于程序的作品”意味着该程序或根据版权法衍生出的作品：即含有程序或其部分（逐字或带有修改和/或翻译成另一种语言）的作品。（下文中，“翻译”包括在“修改”的定义中而无任何限制。）每个被许可人被称为“你”。
除复制、分发和修改外的活动不受本许可证约束；它们在其范围之外。运行程序的行为不受限制，且仅当程序输出的内容构成基于程序的作品时（独立于是否通过运行程序生成）才涵盖在内。这是否成立取决于程序的功能。
1. 你可以按照你收到的形式复制和分发程序的源代码副本，无论媒介如何，前提是你显著并适当地在每个副本上发布适当的版权声明和不担保声明；保持所有指向本许可证及不存在任何担保的通知完整；并向程序的其他接收者提供一份本许可证以及程序。
你可以对物理转移副本的行为收取费用，并且你可以选择提供收费的担保保护。
2. 你可以修改程序的一个或多个副本或其任何部分，从而形成基于程序的作品，并根据上述第1节的条款复制和分发这样的修改或作品，前提是你也满足了以下所有条件：
a) 必须让修改后的文件带有醒目的通知，说明你已更改了文件及其变更日期。
b) 你必须以整个作品为基础，向所有第三方免费提供许可，使其可以在本许可证的条款下使用该作品，无论该作品是整体还是部分包含或来源于程序或其任何部分。
c) 如果修改后的程序在运行时通常会交互式地读取命令，则必须在最普通的方式启动运行以进行此类交互使用时打印或显示一条公告，包括适当的版权声明和无担保声明（或声明你提供担保），告知用户可以在这些条件下重新分发程序，并告诉用户如何查看本许可证的副本。（例外情况：如果程序本身是交互式的但通常不打印此类公告，那么基于该程序的工作不必打印公告。）
这些要求适用于整个修改作品。如果可识别的部分并非源自程序，可以合理认为是独立和单独的作品，则当你将它们作为单独作品分发时，本许可证及其条款不适用。但是当你将相同的部分作为基于程序的作品的一部分分发时，整个作品的分发必须符合本许可证的条款，其对其他被许可人的权限扩展到整个作品，因此不论谁写的每个部分都在其范围内。
因此，本节的目的并不是声称权利或争议完全由你编写的作品的权利；而是行使控制基于程序的衍生或集体作品分发的权利。
此外，将另一个非基于程序的作品与程序（或基于程序的作品）聚合在一个存储或分发介质的卷上并不会将其他作品纳入本许可证的范围内。
3. 在遵守上述第1节和第2节的前提下，你可以以目标代码或可执行形式复制和分发程序（或基于它的作品），只要你还做了下列之一：
a) 提供完整的相应机器可读源代码，必须按照上述第1节和第2节的条款在通常用于软件交换的媒介上分发；
b) 提供书面要约，有效期至少三年，向任何第三方收取不超过你实际进行源码分发成本的费用，提供完整的机器可读源代码副本，必须按照上述第1节和第2节的条款在通常用于软件交换的媒介上分发；
c) 向你提供的关于分发相应源代码的信息。（此选项仅限于非商业分发，并且只有在你收到的程序是以对象代码或可执行形式附带这样的要约的情况下，根据上述b项允许。）
作品的源代码是指对该作品进行修改的首选形式。对于可执行作品，完整的源代码意味着它包含的所有模块的源代码加上任何关联的接口定义文件，再加上编译和安装可执行文件所用的脚本。然而，特别例外的是，随操作系统主要组件（编译器、内核等）通常分发的任何东西（无论是源码形式还是二进制形式）不需要包含在源代码分发中，除非该组件本身伴随可执行文件。
如果通过提供从指定地点复制的机会来进行可执行或对象代码的分发，则提供从同一地点复制源代码的同等机会被视为源代码的分发，即使第三方不被迫同时复制源代码和对象代码。
4. 除非本许可证明确规定，否则你不得复制、修改、再许可或分发程序。任何试图以其他方式复制、修改、再许可或分发程序的行为无效，并将自动终止你在本许可证下的权利。但是，从你处依据本许可证获得副本或权利的各方，在这些方完全遵守的情况下，其许可证不会被终止。
5. 由于你未签署本许可证，所以你并不需要接受它。但是，除此之外没有任何东西赋予你修改或分发程序或其衍生作品的权限。如果你不接受本许可证，这些行为是法律所禁止的。因此，通过修改或分发程序（或任何基于程序的作品），你表明同意接受本许可证来这样做，并接受其所有复制、分发或修改程序或基于它的作品的条款和条件。
6. 每次你重新分发程序（或任何基于程序的作品），接收者自动从原始许可人处获得复制、分发或修改程序的许可证，但需遵守这些条款和条件。你不得对接收者行使本许可证授予的权利施加任何进一步的限制。你无需负责执行第三方对本许可证的遵守情况。
7. 如果由于法庭判决或专利侵权指控等原因（不限于专利问题），对你施加了与本许可证条件相矛盾的条件（无论是通过法院命令、协议或其他方式），它们并不能免除你履行本许可证规定的义务。如果你不能同时满足本许可证和其他相关义务的要求，那么你就不能分发程序。例如，如果专利许可不允许所有直接或间接通过你获得副本的人免费重新分发程序，那么唯一能同时满足两者的方法就是完全停止分发程序。
如果本节中的任何部分在特定情况下被认为无效或不可执行，则本节其余部分应尽可能应用，并且在其他情况下本节整体应继续适用。
本节的目的并不是诱导你侵犯任何专利或其他财产权利主张或质疑这些主张的有效性；本节的唯一目的是保护自由软件分发系统的完整性，该系统通过公众许可证实践实施。许多人基于一致应用该系统的原则做出了对广泛传播的软件的慷慨贡献；是否愿意通过任何其他系统分发软件由作者/捐赠者决定，被许可人不能强加这一选择。
本节旨在彻底澄清被认为是本许可证其余部分结果的内容。
8. 如果由于专利或受版权保护的接口，程序的分发和/或使用在某些国家受到限制，那么将程序置于本许可证下的原始版权持有人可能会添加明确的地理分发限制，排除这些国家，使得分发仅限于或在那些未被排除的国家之间进行。在这种情况下，本许可证包含了如同写入本许可证正文一样的限制。
9. 自由软件基金会可能不时发布修订版和/或新版通用公共许可证。新版本将在精神上类似于当前版本，但在细节上可能有所不同，以解决新问题或关注点。
每个版本都有一个区分版本号。如果程序指定了适用于它的本许可证的版本号以及“任何后续版本”，你可选择遵循该版本或自由软件基金会发布的任何后续版本的条款和条件。如果程序未指定本许可证的版本号，你可以选择自由软件基金会曾经发布的任何版本。
10. 如果你想把程序的部分合并到具有不同分发条件的其他自由程序中，请写信给作者请求许可。对于由自由软件基金会版权所有的软件，请联系自由软件基金会；我们有时会对此做出例外。我们的决定将由两个目标指导：维护我们自由软件所有衍生品的自由状态，以及促进软件的一般共享和重用。
无担保
11. 因为程序是免费许可的，所以在适用法律允许的最大范围内，对程序不做任何担保。除非另有书面声明，版权持有者和/或其他方“按现状”提供程序，不作任何形式的明示或暗示担保，包括但不限于适销性和适用于特定用途的默示担保。程序的质量和性能风险由你承担。如果程序出现缺陷，你需要承担所有必要的服务、维修或纠正的成本。
12. 在适用法律要求或书面同意的情况下，任何版权持有者或任何可能根据上述规定修改和/或重新分发程序的其他方不对因使用或无法使用程序而产生的损害赔偿承担责任，包括但不限于因使用损失、数据丢失或利润损失或业务中断造成的任何一般、特殊、偶然或后果性损害（包括但不限于替代商品或服务的采购；使用损失、数据或利润损失；或业务中断），无论责任理论如何（合同、严格责任或侵权行为（包括疏忽或其他）），即使被告知可能发生此类损害。
